草庐IT

java treeset 抛出 illegalArgumentException : key out of range

全部标签

java - 我们如何解释静态代码分析中的异常抛出?

我编写了一个实用程序来为java方法创建CFG(控制流图),其节点是基本block而不是指令。我无法将异常抛出视为CFG中的边缘。原因是:tryblock中的每条指令都可能引发异常/错误,这些异常/错误可以由任何嵌套的try-catchblock处理。如果我们将异常抛出视为边缘,则处理路径的数量会急剧增加,CFG中的节点数量也会急剧增加。在决定哪些跳转是可能的之前,我们需要了解异常的继承层次结构。静态代码分析器如何解决这个问题?我卡在这一步了。如果我必须继续,我应该怎么做?编辑:在我的例子中,我可以限制对那些可以指定在何处和哪些异常被抛出的用例的支持。这解决了我的第二个问题。我仍然想知

java - 如何解决 Hibernate 异常 "IllegalArgumentException occurred while calling setter"的原因?

当我的程序尝试按名称从数据库中加载用户时,Hibernate抛出的偶尔异常IllegalArgumentExceptionoccurredwhilecallingsetter如何解决?我是否错误地将表User中的列USER_RV映射到类Integer而不是BigDecimal或其他一些整数类型?请注意,同一应用程序将其他表中的NUMBER列映射到Integer对象,但Hibernate在用行填充对象时不会抛出此异常来自那些表。另外请注意,该程序为仅用户缓存启用RMI缓存复制。此异常可能与缓存复制有关吗?是Ehcache还是Hibernate的bug?Causedby:org.sprin

java - Java中如何获取抛出异常的方法名

我有一个方面在我的TestNG测试方法抛出异常后运行。我想将测试方法名称放入我的aspectj方法中。对此有什么想法吗?请在下面找到我的代码示例:看点:pointcutpublicCall():call(public**(..));after()throwing(AssertionErrore):publicCall(){logger.debug("AssertionErrorthrown");System.out.println("Threwanexception:"+e);}测试:@TestpublicvoidtestScenarioOne(){logger.debug("From

欧文:抛出被传递到方法的例外

我在接口上有一种方法:voidHandleError(MyClasssc,objecto,Exceptione);我想用量施肥嘲笑,并在任何参数上抛出所提供的异常e。就像是:_mock.Setup(a=>a.HandlreError(It.IsAny(),It.IsAny(),It.IsAny())).Throws([the'any'exception])看答案您可以使用打回来用传递给模拟对象的参数调用的操作:_mock.Setup(a=>a.HandlreError(It.IsAny(),It.IsAny(),It.IsAny())).Callback((MyClassc,objecto,E

java - 当我使用三元运算符时抛出 NullPointerException

这个问题在这里已经有了答案:NullPointerExceptionthroughauto-boxing-behaviorofJavaternaryoperator(3个答案)关闭7年前。我有以下返回语句:publicBooleanfoo(StringbooleanString){return("true".equals(booleanString)?true:("false".equals(booleanString)?false:null));}当booleanString不等于true且不等于false时,我得到了NullPointerException。是装箱/拆箱问题吗?

java - 在方法调用期间将数组作为参数传递时出现 IllegalArgumentException

我一定错过了一些非常基本的东西。当我尝试在方法调用期间传递任何类型的数组时,出现错误。但是,当我正常执行时,它会起作用。这是失败的完整代码importjava.lang.reflect.Method;publicclassMain{publicstaticvoidmain(String[]args)throwsException{//NormalMyClass.sayHello(newString[]{"StackOverflow"});//ReflectionMethodm=MyClass.class.getMethod("sayHello",String[].class);m.in

java - Files.move 和 Files.copy 抛出 java.nio.file.FileAlreadyExistsException

我想删除一个文件并用旧文件重命名另一个文件,但我无法移动这个文件,因为java抛出java.nio.file.FileAlreadyExistsException以下是代码片段I正在使用staticvoidswapData(StringorigFilePath,StringtempFilePath)throwsIOException{PathtempPath=FileSystems.getDefault().getPath(tempFilePath);PathorigPath=FileSystems.getDefault().getPath(origFilePath);try{Stri

java.lang.IllegalArgumentException : A signing key must be specified if the specified JWT is digitally signed 异常

我希望在我的应用程序中实现JWT,因为我正在通过引用以下内容对其进行一些研发:https://stormpath.com/blog/jwt-java-create-verify.当我尝试通过提取声明集来verifyToken()时,我成功地实现了generateToken()方法。我不明白apiKey.getSecret()是从哪里来的。你能指导我吗?以下代码供引用:publicclassJJWTDemo{privatestaticfinalStringsecret="MySecrete";privatestaticStringgenerateToken(){Stringid=UUID

添加带有参数的生成方法时编译器抛出的java.lang.AssertionError

我正在使用带有注释处理器的内部sunAPI(com.sun.tools.javac)修改现有类。我能够使用以下代码生成MethodDecl并将其添加到ClassDecl:JCTree.JCClassDeclclassDecl=...JCTree.JCMethodDeclmethodDecl=...JCTree[]trees=newJCTree[classDecl.defs.length()+1];trees[classDecl.defs.length()]=methodDecl;classDecl.defs=List.from(trees);在我尝试向方法声明中添加参数之前,它工作正常

java - 为什么下面的代码没有抛出IndexOutOfBoundsException,并打印出9 9 6?

我是java新手。我有一个疑问。classArrTest{publicstaticvoidmain(Stringargs[]){inti=0;int[]a={3,6};a[i]=i=9;System.out.println(i+""+a[0]+""+a[1]);//996}} 最佳答案 这是伟大的Java评估规则适用的另一个很好的例子。Java从左到右解析地址。a[i]就是a[0]的地址,然后i就是i的地址,然后把9赋给i,再把9赋给[0]。IndexOutOfBoundsException永远不会被抛出,因为a[0]没有越界。误解